package com.cmdi.opensite.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cmdi.opensite.entity.Comment;

/**
 * 评价服务接口
 */
public interface CommentService extends IService<Comment> {
    
    /**
     * 发表评价
     */
    boolean addComment(Comment comment);
    
    /**
     * 删除评价
     */
    boolean deleteComment(Long id, Long userId);
    
    /**
     * 查询活动的评价列表
     */
    IPage<Comment> getActivityComments(IPage<Comment> page, Long activityId);
    
    /**
     * 查询用户是否已评价活动
     */
    boolean hasCommented(Long activityId, Long userId);
    
    /**
     * 获取活动的平均评分
     */
    double getAverageScore(Long activityId);
    
    /**
     * 获取活动的评价数量
     */
    int getCommentCount(Long activityId);
}